$(function () {
    $('.select2').select2();
    var defaultColunms = BaseTable.initColumn();
    var table = new BSTable(BaseTable.id, "/wx/shoot/list", defaultColunms);
    table.setPaginationType("server");
    BaseTable.table = table.init();
    init();
    loadingInit('正在查询中...请勿关闭界面！耐心等待网页返回结果..')
});

/**
 * 表格类容初始化
 */
var BaseTable = {
    id: "table",	//表格id
    seItem: null,		//选中的条目
    table: null,
};

/**
 * 初始化表格的列
 */
BaseTable.initColumn = function () {
    return [
        {field: 'selectItem',checkbox : true},
        {field: 'id',title : '序号',align: 'center', valign: 'middle',formatter : function(value, row, index) {return index+1;}},
        {title: 'id', field: 'id', visible: false, align: 'center', valign: 'middle'},
        {title: '用户', field: 'nickname', align: 'center', valign: 'middle', },
        {title: '性别', field: 'gender', align: 'center', valign: 'middle',formatter: function(value, row, index){
            return value === 0 ? '女' : '男';
        }},
        {title: '身份', field: 'capacity', align: 'center', valign: 'middle',formatter: function(value, row, index){
            return getType(value);
        }},
        {title: '约拍类型', field: 'type', align: 'center', valign: 'middle',formatter: function(value, row, index){
            return value === 0 ? '约摄影师' : '约模特';
        }},
        {title: '收费模式', field: 'chargingModel', align: 'center', valign: 'middle',formatter: function(value, row, index){
            return getModelType(value);
        }},
        {title: '拍摄时间', field: 'shootTime', align: 'center', valign: 'middle', },
        {title: '拍摄地点', field: 'shootAddress', align: 'center', valign: 'middle', },

        {title: '得分', field: 'score', align: 'center', valign: 'middle', },
        {title: '审核状态', field: 'auditStatus', align: 'center', valign: 'middle',formatter: function(value, row, index){
            return value === 0 ? '新发布' : (value === 2 ? '未通过' : '已通过');
        }},
        {title: '审核时间', field: 'updateTime', align: 'center', valign: 'middle',formatter: function(value, row, index){
            return row.auditStatus !== 0 ? value : '暂未审核';
        }},
        {title: '操作', field: 'status', align: 'center', valign: 'middle', formatter: function(value, row, index){
            var html = '<div style="display: flex;justify-content: space-around">'
            html += '<a class="btn btn-primary " href="#" onclick="getInfo('+row.id+')"><i class="glyphicon glyphicon-info-sign">详情</i></a>';
            html += '</div>'
            return html;
        }}
    ];
};

/**
 * 检查是否选中
 */
BaseTable.check = function () {
    var selected = $('#' + this.id).bootstrapTable('getSelections');
    if (selected.length == 0) {
        alert("请先选中表格中的某一记录！");
        return false;
    } else {
        BaseTable.seItem = selected[0];
        return true;
    }
};


/**
 * 查询表格列表
 */
BaseTable.search = function () {
    var queryData = {};
    queryData['key'] = $("#q").val();
    queryData['auditStatus'] = $("#auditStatus").val();
    BaseTable.table.refresh({query: queryData});
};

function getModelType(value) {
    //0希望互面 1需要收费 2愿意付费 3费用协商
    switch (value) {
        case 0:
            return '希望互面';
        case 1:
            return '需要收费';
        case 2:
            return '愿意付费';
        case 3:
            return '费用协商';
        default:
            return ''
    }
}

function getType(value) {
    return vm.getType(value)
}

function clearInput(obj) {
    $(obj).prev().val('');
}

function getInfo(id) {
    loadingShow()
    vm.getInfo(id)
}

var vm = new Vue({
    el:'#app',
    data:{
        showList: true,
        data:{},
        user:{}
    },
    methods: {
        saveOrUpdate: function () {
            if (vm.data.auditStatus == 1 && vm.data.score =='') {
                showErrorMsg('请输入分数！');
                return
            }
            var params = {
                id:vm.data.shootId,
                type:vm.data.type,
                userId:vm.user.userId,
                auditStatus:vm.data.auditStatus,
                score:vm.data.score
            };
            ajaxSubmit("/wx/shoot/update",JSON.stringify(params),function (r) {
                if(r.code == 0){
                    showSuccessMsg('操作成功!');
                    vm.reload();
                }else{
                    alert(r.msg);
                }
            })
        },
        getInfo: function(id){
            $.get(baseURL + "wx/shoot/getDetail/"+id, function(r){
                vm.data = r.data;
                vm.user = r.data.user;
                // disabledInput(r.data.auditStatus)
                loadingHide()
                vm.showList = false
            });
        },
        getType:function (value) {
            //1 摄影师 2模特 3化妆师 4造型师 5修图师 6商家 7素人模特 8其他
            switch (value) {
                case 1:
                    return '摄影师'
                case 2:
                    return '模特'
                case 3:
                    return '化妆师'
                case 4:
                    return '造型师'
                case 5:
                    return '修图师'
                case 6:
                    return '商家'
                case 7:
                    return '素人模特'
                default:
                    return '其他'
            }
        },
        reload: function () {
            vm.showList = true;
            BaseTable.search();
            resetForm();
        },

    }
});

function disabledInput(auditStatus) {
    let inputStatus = auditStatus!=0
    $("input[name='status']").attr("readonly", inputStatus);
    $("input[name='score']").attr("readonly", inputStatus);
    $("#Submit").attr("disabled", inputStatus);
}


function init() {
    $("#Form")
        .bootstrapValidator(
            {
                errorElement: 'span',
                errorClass: 'help-block',
                fields: {
                    status:{
                        validators: {
                            notEmpty: {
                                message: '该项目不能为空'
                            },
                        }
                    },
                    score:{
                        validators: {
                            regexp: {
                                regexp: /^100$|^(\d|[1-9]\d)(\.\d+)*$/,
                                message: '只能输入100以内的数字'
                            },
                            stringLength: {
                                min: 1,
                                max: 100,
                                message: '该项目长度在1到10之间'
                            },
                        }
                    },
                }
            }).on('success.form.bv', function (e) {
        e.preventDefault();
        vm.saveOrUpdate();
        return false;
    });
}
